package com.net.xpay.common.domain.partner;

import com.net.common.domain.VersionedDomain;
import com.net.xpay.common.enums.partner.WithdrawStatus;
import io.swagger.annotations.ApiModelProperty;
import lombok.Getter;
import lombok.NoArgsConstructor;
import lombok.Setter;

import java.time.LocalDateTime;
import java.util.List;

/**
 * 合伙人提现批次记录
 *
 * @author anno
 */
@Getter
@Setter
@NoArgsConstructor
public class PartnerWithdrawRecordBatch extends VersionedDomain {
    @ApiModelProperty(notes = "业务号 'partner-'+id 前缀用来区分业务名称")
    private String bizId;

    @ApiModelProperty(notes = "状态")
    private WithdrawStatus status;

    @ApiModelProperty(notes = "线下转账")
    private Integer isOffline;

    @ApiModelProperty(notes = "提现总笔数")
    private Integer totalNum;

    @ApiModelProperty(notes = "提现总金额 分")
    private Long totalMoney;

    @ApiModelProperty(notes = "支付宝发起支付后返回的 支付宝批次订单号")
    private String batchTransId;

    @ApiModelProperty(notes = "最后一次发起的付款链接")
    private String lastPayUrl;

    @ApiModelProperty(notes = "处理开始时间")
    private LocalDateTime dealingTime;

    @ApiModelProperty(notes = "完成时间")
    private LocalDateTime endTime;

    @ApiModelProperty(notes = "提现编号集合")
    private List<Long> withdrawRecordIds;

    @ApiModelProperty(notes = "备注")
    private String remark;

    public static PartnerWithdrawRecordBatch getInstance() {
        return new PartnerWithdrawRecordBatch();
    }
}
